The manner in which information is presented to users affects the user's ability to understand and comprehend the information. On computer displays, it has become a standard practice to add emphasis to information by using color, font styles, and the like. This emphasis allows users to more readily grasp the importance of the information. The code handling the presentation of the information (user interface) and the code performing the application logic on the information are typically closely coupled. For example, the logic assigns user interface properties (e.g., color, font, position, size) directly with data. Thus, when there is a change to the user interface, the logic must typically also change. For example, in the case of a text box, the user interface code listens to determine whether text has changed, upon a change, the user interface code validates the changed text and then displays the changed text. This tightly coupled nature of the user-interface and the logic results in very fragile code. Maintaining this fragile code is very costly and time consuming.